package run.controller;

import entity.Dept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.client.RestTemplate;

/**
 * @author zhangxian
 * @program: parent
 * @description: 获取用户信息
 * @date 2022-03-23 10:23:03
 */
@Controller
@RequestMapping("/dept")
public class DeptConsumerController {

    //面向微服务编程，即通过微服务的名称来获取调用地址
    private static final String REST_URL_PROVIDER_PREFIX = "http://serverProviderApplication";
    // 使用注册到 Spring Cloud Eureka 服务注册中心中的服务，即 application.name


    @Autowired
    private RestTemplate restTemplate;
    //RestTemplate 是一种简单便捷的访问 restful 服务模板类，是 Spring 提供的用于访问 Rest 服务的客户端模板工具集，提供了多种便捷访问远程 HTTP 服务的方法

    @RequestMapping(value = "/consumer/dept/get/{id}")
    @ResponseBody
    public Dept get(@PathVariable("id") String id) {
        return restTemplate.getForObject(REST_URL_PROVIDER_PREFIX + "/dept/getInfo?deptNo=" + id, Dept.class);
    }
}
